package cn.wjssl.domain.award.repository;

import cn.wjssl.domain.award.model.aggregate.GiveOutPrizesAggregate;
import cn.wjssl.domain.award.model.aggregate.UserAwardRecordAggregate;

/**
 * @Author：lxd
 * @Description 奖品仓储服务
 * @Date：2025/2/25
 */

public interface IAwardRepository {

    // 根据聚合对象, 存入中奖记录和task, 并发送mq消息
    void saveUserAwardRecord(UserAwardRecordAggregate userAwardRecordAggregate);

    // 根据奖品id, 查询奖品配置
    String queryAwardConfig(Integer awardId);

    // 根据聚合对象, 更新中奖记录和用户账户积分
    void saveGiveOutPrizesAggregate(GiveOutPrizesAggregate giveOutPrizesAggregate);

    // 根据awardId, 查询对应的award_key, 奖品类型
    String queryAwardKey(Integer awardId);
}
